package com.tarena.lbs.activity.pojo.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class ActivityUpdateParam {

    @ApiModelProperty("更新必填")
    Long id;

    @ApiModelProperty(value = "活动状态0未开始1进行中2结束")
    Integer status;

    @NotEmpty(message = "活动名称不能为空")
    @ApiModelProperty("活动名称")
    String activityName;

    @NotEmpty(message = "开始时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("开始时间")
    Date startDate;

    @NotEmpty(message = "截止时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("截止时间")
    Date endDate;

    /*@NotEmpty(message = "活动说明不能为空")*/
    @ApiModelProperty("活动说明")
    String describes;

/*    @NotEmpty(message = "活动图片ID不能为空")*/
    @ApiModelProperty("活动图片ID逗号分割")
    String imgIds;

   /* @NotEmpty(message = "店铺ID不能为空")*/
    @ApiModelProperty("店铺ID逗号分割")
    String shopIds;

/*    @NotEmpty(message = "活动人群ID不能为空")*/
    @ApiModelProperty("活动人群ID逗号分割")
    String targetCustomer;

    @NotEmpty(message = "活动目标不能为空")
    @ApiModelProperty("活动目标")
    String activityTarget;

   /* @NotNull(message = "投放渠道不能为空")*/
    @ApiModelProperty("投放渠道")
    String deliveryChannel;

 /*   @NotNull(message = "优惠券ID不能为空")*/
    @ApiModelProperty("优惠券ID")
    Integer rewardCouponId;

/*    @NotEmpty(message = "活动分享标题不能为空")*/
    @ApiModelProperty("活动分享标题")
    String shareProfile;

   /* @NotEmpty(message = "优惠券ID不能为空")*/
    @ApiModelProperty("活动分享链接")
    String shareUrl;

    @ApiModelProperty(value = "营销配置")
    String activityJson;

  /*  @NotNull(message = "自动化营销类型不能为空")*/
    @ApiModelProperty(value = "自动化营销类型")
    Integer marketingType;

    @ApiModelProperty("商家ID-前端忽略")
    Integer businessId;

    @ApiModelProperty(value = "活动启用状态0禁用1启用2删除")
    Integer enableStatus;

    @ApiModelProperty(value = "活动类型默认1赠领")
    Integer activityType;

    @ApiModelProperty(value = "投放渠道1App2小程序")
    Integer channelType;

    @ApiModelProperty(value = "活动图片地址")
    List<String> imgPics;

   @ApiModelProperty(value = "奖励类型")
    Integer rewardType;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    Date updateAt;
}
